Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2010
Тип роботи:
Звіт
Предмет:
Об’єктно-орієнтоване програмування
Група:
КН-30

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ Національний університет «Львівська політехніка» Кафедра АСУ Звіт до лабораторної роботи №10 з курсу “Об'єктно орієнтоване програмування” Варіант 8 Львів 2010 Тема: Створення багатопотокових ужитків Мета роботи: Вивчення можливостей системи програмування Delphi 5 по створенню багатопотокових ужитків. Завдання Створити проект - модель "Обчислення та малюваня". Обчислення здійснюється в основному модулі, для відображення рухомого малюнка, використати окремий потік. Текст програми: unit O10; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs,unit2; type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); procedure FormPaint(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; My:TMyThread; X,Y:integer; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin X:=0; Y:=0; Randomize; My:=TMyThread.Create(false); My.Owner:=Self; end; // Обчислюэмо та малюэмо procedure TForm1.FormPaint(Sender: TObject); var i,j:integer; begin with Canvas do begin MoveTo(My.Point[1].X,My.Point[1].Y); LineTo(My.Point[2].X,My.Point[2].Y); LineTo(My.Point[3].X,My.Point[3].Y); LineTo(My.Point[1].X,My.Point[1].Y); end; end; end. unit Unit2; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; type TMyThread=class(TThread) Owner:TForm; Point,DMove:array [1..3]of TPoint; procedure Execute;override; end; implementation procedure TMyThread.Execute; begin //Зміщення кординат трикутника DMove[1].X:=5; DMove[1].Y:=5; DMove[2].X:=4; DMove[2].Y:=4; DMove[3].X:=3; DMove[3].Y:=3; //Безкінечний цикл обчислення нових координат трикуткика на площині repeat Point[1].X:=Point[1].X+DMove[1].X; Point[1].Y:=Point[1].Y+DMove[1].Y; Point[2].X:=Point[2].X+DMove[2].X; Point[2].Y:=Point[2].Y+DMove[2].Y; Point[3].X:=Point[3].X+DMove[3].X; Point[3].Y:=Point[3].Y+DMove[3].Y; //Перевірка на межі вікна if (Point[1].X>Owner.ClientWidth) or (Point[1].X<0) then DMove[1].X:=-DMove[1].X; if (Point[1].Y>Owner.ClientHeight) or (Point[1].Y<0) then DMove[1].Y:=-DMove[1].Y; if (Point[2].X>Owner.ClientWidth) or (Point[2].X<0) then DMove[2].X:=-DMove[2].X; if (Point[2].Y>Owner.ClientHeight) or (Point[2].Y<0) then DMove[2].Y:=-DMove[2].Y; if (Point[3].X>Owner.ClientWidth) or (Point[3].X<0) then DMove[3].X:=-DMove[3].X; if (Point[3].Y>Owner.ClientHeight) or (Point[3].Y<0) then DMove[3].Y:=-DMove[3].Y; //При отриманні нових координат - перемальовуємо вікно Owner.Repaint; //Затримка на 10 мілісекунд sleep(10); until false; end; end. object Form1: TForm1 Left = 251 Top = 179 Width = 431 Height = 210 Caption = 'Form1' Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'MS Sans Serif' Font.Style = [] OldCreateOrder = False OnCreate = FormCreate OnPaint = FormPaint PixelsPerInch = 96 TextHeight = 13 End program Project1; uses Forms, O10 in 'O10.pas' {Form1}, Unit2 in 'Unit2.pas'; {$R *.res} begin Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run; end. Скріншоти роботи програми   Висновок: На даній лабораторній роботі я вивчив можливості системи програмування Delphi 5 по створенню багатопотокових ужитків.
Антиботан аватар за замовчуванням

01.01.1970 03:01

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини